Описание
Инструмент
2D Смещение строит кривую, параллельную оригинальной кривой, на определенном расстоянии от неё. Или аналогично увеличивает/уменьшает плоскую грань.
Кривая/поверхность должны быть планарным (без пересечений рёбер не по вершинам). В одном объекте может быть несколько кривых, не обязательно компланарных (лежащих в одной плоскости).
Применение
Примечания
- Объекты App Link, связанные с соответствующими типами объектов, и контейнеры App Part с соответствующими видимыми объектами внутри также могут быть использованы в качестве исходных объектов. представлено в версии 0.20
Известные проблемы
- Большинство из режимов не по умолчанию (нестандартных) будут работать только с OCC 7.0.0 или более поздней версией.
- Использование инструмента может привести к аварийному завершению работы FreeCAD (см. следующий пункт). В Windows эти сбои преобразуются в исключения и обычно не приводят к закрытию FreeCAD; в других ОС это не так, поэтому рекомендуется сохранить проект перед использованием инструмента. Эллипсы также не поддерживаются.
- При увеличении граней с круглыми отверстиями на величину, достаточную для того, чтобы отверстия закрылись, происходит сбой (OCC 7.0.0). Проблема, видимо, характерна для кругов; похоже что, другие фигуры,закрываются правильно.
- При смещении окружностей с ненулевым (не в центре координат) Размещением результат размещается неверно. (OCC 7.0.0)
- При смещении окружностей иногда они смещаются в неожиданном направлении (например, внутрь, а не наружу). (OCC 7.0.0)
- Заполнить смещение = «true» не работает при групповом смещении открытых кривых в режиме «Skin».
- Режим соединения (join ) «по касательной» ("Tangent") не работает (OCC 7.0.0)
- Смещение кривых, состоящих из одного отрезка линии, не поддерживается (поскольку отрезок линии не определяет плоскость). Одиночные сегменты линий также не могут участвовать в коллективном смещении.
Свойства
- ДанныеSource (Источник ): Ссылка на оригинальную форму
- ДанныеValue (Значение): Расстояние, на которое нужно увеличить кривую/поверхность. Если отрицательно, то вместо этого кривая/поверхность уменьшается.
- ДанныеMode (Режим) («Pipe (Труба)» или «Skin»): задаёт способ обработки незамкнутых кривых. Если «Pipe», то кривая обрисовывается так, как если бы она была очень тонким замкнутым контуром. Если «Skin», создаётся открытый профиль.

- ДанныеJoin (Тип соедининения) («Arc (Дуга)», «Tangent (Касательная)», «Intersection (Пересечение)»): задаёт поведение вокруг перегибов. Если «Дуга», смещённые сегменты соединяются дугой окружности с центром в вершине. «Касательная» не поддерживается в OCC7.0.0. При „Пересечении“: сегменты смещения продлеваются до пересечения.

- ДанныеIntersection-Пересечение («false», «true»): устанавливает, обрабатывать ли несколько кривых коллективно или независимо. Если «false», то кривые смещаются независимо, пересечения между получившимися кривыми игнорируются. Если «true», то кривые смещаются совместно.

- Только кривые внутри объединения связаны между собой. Например, если структура имеет вид объединения (кривая1, кривая2, объединение(кривая3, кривая4)), то кривая1 и кривая2 будут рассматриваться совместно, но независимо от кривой3 и кривой4. Аналогично, кривая3 и кривая4 рассматриваются совместно, но независимо от кривая1+кривая2.
Кроме того, в групповом режиме важны направления кривых, которые влияют на направление смещения. Это тесно связано с тем, как обрабатываются отверстия в гранях.
- Кривые, обрабатываемые совместно, должны быть компланарными. Кривые, смещаемые независимо друг от друга, не обязательно должны быть компланарными.
- ДанныеFill - Заполнить смещение («false», «true»): если «true», то пространство между исходной кривой/поверхностью и смещением заполняется плоскостью.

Написание скриптов
Инструмент можно использовать в макросах и из консоли Python с помощью следующей функции:
f = App.ActiveDocument.addObject("Part::Offset2D", "Offset2D")
f.Source = #some object
f.Value = 10.0
2D-смещение также доступно в качестве метода Part.Shape. Пример:
import Part
circle = Part.Circle().toShape()
enlarged_circle = circle.makeOffset2D(10.0)
Part.show(circle)
Part.show(enlarged_circle)
# makeOffset2D(offset, join = 0, fill = False, openResult = false, intersection = false)
#
# * offset: distance to expand the shape by.
#
# * join: method of offsetting non-tangent joints. 0 = arcs, 1 = tangent, 2 =
# intersection
#
# * fill: if true, the output is a face filling the space covered by offset. If
# false, the output is a wire/face.
#
# * openResult: True for "Skin" mode; False for Pipe mode.
#
# * intersection: collective offset
#
# Returns: result of offsetting (wire or face or compound of those). Compounding
# structure follows that of source shape.
Part
- Создание и правка: Выдавливание, Построение фигуры вращения, Отражение, Скругление, Фаска, Создать плоскость из граней, Ruled Surface, Профиль, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Создать полый объект, Projection on surface, Прикрепление
- Булевы операции: Соединить, Разорвать связь, Compound Filter, Булевы операции, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Другие инструменты: Импорт, Экспорт, Box selection, Shape from Mesh, Points from mesh, Преобразовать в твердое тело, Reverse shapes, Create simple copy, Create transformed copy, Create shape element copy, Refine shape, Check geometry, Defeaturing, Appearance, Set colors
Документация пользователя
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac,
Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework